The present invention is related to numerical control (NC) and more particularly to computer numerical control (CNC). Numerical Control is the generic term applied to the automation of general purpose machine tools. Such automation is achieved through electronics and, utilizing computers, such automation has become more flexible and efficient.
A "three axis" machine is one that provides for linear motion along mutually orthogonal X, Y and Z axes of a fixed coordinate system. A "four axis" machine is one that provides for linear motion along mutually orthogonal X, Y and Z axes of a fixed coordinate system and also provides for rotation of a part (workpiece) about a rotary axis. One advantage of numerical control is the ability to accurately position the axes of a machine and control the cutting feeds and speeds for a machining pattern that can be repeated for each workpiece. This positioning and control information (the NC data) makes up an NC program or part program which is created by a tooling engineer (programmer). NC programs are stored in a memory of the CNC control system (hereinafter referred to generally as the controller) after the programs have been loaded into the memory through a punched tape, for example. In more sophisticated controllers, portions of the NC program can be created and loaded directly into the controller memory by "teaching" the machine with a hand held programmer. Once the NC program is written and stored in the controller, manual action is normally limited to setting up the part, starting the CNC controller which executes the program, and carrying out any necessary manual operations such as tool changes. The NC program, when executed by the controller directs the machine through a series of fabrication steps. For example, where the machine includes a cutting tool the cutting tool is directed relative to the workpiece to make a series of cuts (straight line or circular) in accordance with a series of NC program instructions. These instructions direct the tool as to where the workpiece is to be cut and in what order the cuts are to be made.
Most NC and CNC systems are programmed according to a standard of the Electronic Industries Association designated as EIA RS 274-D. The part program (or NC code making up the program) can be created through various methods, most of which are available to users of a commercial CNC system, namely the 91000 SuperControl, available from Thermwood Corporation, Dale, Indiana. The most direct method is for a programmer to write the code, line by line, on a personal computer (PC) using a text editor. This requires that the programmer have knowledge of all of the EIA codes, the required syntax and the ability to calculate positions and movements.
Another method available is a menu-driven system (commonly called conversational programming) in which the "programmer" simply responds to queries from the controller and fills in the blanks in a displayed "form". The controller then creates the NC code required to generate the motions defined by the programmer.
Another method of creating NC code for a part program is through use of a Computer Aided Design/Computer Aided Manufacturing (CAD/CAM) system. Using a CAD/CAM system, the programmer first defines the geometry of the part and then the cutting path. The system software then determines the motions of a particular machine required to produce the desired cut path and then generates the NC program code needed to effect the desired cut path on the particular machine. This system has certain disadvantages. CAD/CAM software capable of generating three or four axis NC programs is expensive and requires substantial training to operate. The program is generated with the assumption that the particular machine on which it will run is geometrically precise and accurate. Any inaccuracy in the actual machine or head results in an inaccurate cut path when the program is executed. Also, certain processes used to manufacture a part which is to be trimmed by the machine under program control may be at variance with the original part design used in creating the NC program. This is especially true for certain plastic processes, e.g. thermoforming, which heat the material for forming and then cool the material into the final shape. Part shrinkage during cooling may not be predictable so that the final part may not exactly match the CAD/CAM design. Thus, the trim path may be inaccurate.
Yet another method available on the SuperControl is through a Hand Held Programmer that is used to perform conversational programming. This method allows the programmer to get physically close to the machine and carefully observe positions and movements while generating the program. The actual machine is moved around the cutting path for an actual pre-trimmed part, defining program points at appropriate intervals. This method has the advantage of accounting for inaccuracies in the machine and variances between the actual part and its original design. While such system requires less training than the CAD/CAM or other programming methods, this method does require a level of technical training and occupies the machine during program development, which reduces its availability for production. On the Thermwood SuperControl, the Hand Held Programmer may be used to create a program consisting only of major points needed to define the cut path. These major points can then be loaded into the CAD/CAM system to create the final part program. This hybrid approach has the advantage of accounting for inaccuracies in the part and/or machine while providing the smooth and fast program attributes of the CAD/CAM system. A disadvantage is that the programmer must be skilled in both the Hand Held Programmer and the CAD/CAM system and substantial machine time is still required to program the major points.